#include<iostream>
#include<algorithm>
using namespace std;
const int N=1e5+10;
int n,m; 
double p[N];
bool check(int mid)
{
	int num=1;
	int x=p[1];
	for(int i=1;i<=n&&num<m;i++)
	{
		if(p[i]-x>=mid)
		{
			num++;
			x=p[i];
		}
	}
	return num>=m ? 1:0;
}
int main()
{
	cin>>n>>m;
	double r=0,l=0x3f;
	for(int i=1;i<=n;i++)
	{
		cin>>p[i];
		l=min(l,p[i]),r=max(r,p[i]);
	}
	sort(p+1,p+n+1);
	r=r-l;
	l=0;
	while(r-l>1e-5)
	{
		double mid=(r+l)/2;
		if(check(mid))
		l=mid;
		else
		r=mid;
	}
	cout<<int(r)<<endl;
    return 0;	
} 
